﻿// A.Consecutive Points Segment - 1671B.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
A - https://codeforces.com/problemset/problem/1671/B


题意
在x轴上，给定n个点，对于每个点可以进行至多一次操作，即向左移动一格，或向右移动一格，问最终能否使得n个点相邻。

思路
首先我们要分析出，对于一段连续的点，为了保持他们的连续性，就必须作为一个整体全部向左移动一格或全部向右移动一格。

于是我们可以从整个
x轴上划分出若干条线段，并且我们知道最左侧的线段不可能左移，只能右移，最右边的线段不可能右移，只能左移，并且移动最多一格。

换个角度想，最左边的线段往右边移动一格，会使得“空隙”减少一格，最右边的线段往左边移动一格，会使得“空隙”减少一格，但是中间的线段移动是不会改变“空隙”个数的。

也就是说只要这个
x轴上的“空隙”数量≤2，就一定可以操作使得所有点相邻，否则就不行。


5
2
1 4
3
1 2 3
4
1 2 3 7
1
1000000
3
2 5 6


YES
YES
NO
YES
YES
*/



#include <iostream>
#include <algorithm>

using namespace std;


int T;
const int N = 200010;
int a[N];

void solve() {
	int n; cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}

	//sort(a, a + n);
	int cnt = 0;
	for (int i = 0; i < n - 1; i++) {
		cnt += a[i + 1] - a[i] - 1;
	}

	if (cnt > 2) {
		cout << "NO" << endl;
	}
	else {
		cout << "YES" << endl;
	}
}


int main()
{
	cin >> T;
	while (T--) {
		solve();
	}


	return 0;
}

